<?php

class WucRecursoEscort extends TTemplateControl {

//<editor-fold defaultstate="collapsed" desc="Propiedades">
    public function getTipoRecurso() {
        return $this->getViewState("TipoRecurso");
    }

    public function setTipoRecurso($value) {
        $this->setViewState("TipoRecurso", $value);
    }

    public function getEnabled() {
        return $this->getViewState("Enabled");
    }

    public function setEnabled($value) {
        $this->setViewState("Enabled", $value);
    }

    public function getCssClass() {
        return $this->getViewState("CssClass");
    }

    public function setCssClass($value) {
        $this->setViewState("CssClass", $value);
    }

    public function getIdEscort() {
        return $this->getViewState("IdEscort");
    }

    public function setIdEscort($value) {
        $this->setViewState("IdEscort", $value);
    }

    public function getMaximoArchivos() {
        return $this->getViewState("MaximoArchivos");
    }

    public function setMaximoArchivos($value) {
        $this->setViewState("MaximoArchivos", $value);
    }

    public function getTitulo() {
        return $this->getViewState("Titulo");
    }

    public function setTitulo($value) {
        $this->setViewState("Titulo", $value);
    }

//</editor-fold>

//<editor-fold defaultstate="collapsed" desc="Metodos Privados">
    private function obtenerPrefijoControl() {
        $clientId = $this->pnlContenedor->ClientID;
        $id = $this->pnlContenedor->ID;
        $prefijoControl = str_replace($id, "", $clientId);
        return $prefijoControl;
    }

    protected function inicializaControles() {
        $idEscort = $this->IdEscort;
        $tipoRecurso = $this->TipoRecurso;
        $maximoArchivos = Util::isNull($this->MaximoArchivos, "-1");
        $titulo = Util::isNull($this->Titulo, "Adjuntar archivos");
        $prefijoControl = $this->obtenerPrefijoControl();

        $json = array(
            "idEscort" => $idEscort,
            "tipoRecurso" => $tipoRecurso,
            "nombreContenedor" => $this->pnlContenedor->ClientID,
            "themeBaseUrl" => $this->Page->Theme->baseUrl,
            "prefijoControl" => $prefijoControl
        );
        $json = json_encode($json);
        $dataScript = "wre_abrirFormularioUpload(" . $json . ");";

        $this->btnAgregar->Attributes->Add("onclick", $dataScript);
        $this->ltAncla->Text = "<a id=\"ancla_" . $tipoRecurso . "\"></a>";
        $this->txtMaximoArchivos->Value = $maximoArchivos;
        $this->lblTitulo->Text = $titulo . " <span id=\"" . $prefijoControl . "lblTotalImagenesCargadas\"></span><span class=\"form-help\">(m&aacute;ximo archivos para subir: " . (($maximoArchivos == "-1" ? "ilimitado" : $maximoArchivos)) . ")</span>";
    }

    protected function registrarJavaScript() {
        //escribe bloque js para registrar el prefijo del control
        if ($this->Visible) {
            $this->Page->ClientScript->registerScriptFile("registrarJavaScript", "js/wucRecursoEscort.js");
        }
    }

//</editor-fold>

//<editor-fold defaultstate="collapsed" desc="Metodos Publicos">
    public function cargarDatos() {
        try {
            $prefijoControl = $this->obtenerPrefijoControl();
            $dataScript = "";
            $idEscort = $this->IdEscort;
            $tipoRecurso = $this->TipoRecurso;
            $path = Util::obtenerPathRecursoEscortPorTipoRecurso($this->Page, $tipoRecurso);

            $json = array(
                "idEscort" => $idEscort,
                "tipoRecurso" => $tipoRecurso,
                "nombreContenedor" => $this->pnlContenedor->ClientID,
                "path" => $path,
                "themeBaseUrl" => $this->Page->Theme->BaseUrl,
                "cargaInicial" => true,
                "prefijoControl" => $prefijoControl
            );
            $json = json_encode($json);
            $dataScript = "wre_dibujarGaleriaImagenes(" . $json . ");";
            $this->Page->ClientScript->registerEndScript($prefijoControl . "cargarDatos", $dataScript);
        } catch (Exception $e) {
            throw new Exception($e->getMessage());
        }
    }

//</editor-fold>

//<editor-fold defaultstate="collapsed" desc="Eventos Controles">
    public function onLoad($param) {
        parent::onLoad($param);
        $this->registrarJavaScript();
        $this->inicializaControles();
    }

//</editor-fold>
}

?>
